package com.yuyou.train.user.service;

import java.util.List;

import com.yuyou.train.service.api.user.dto.MyCommentPageDTO;
import com.yuyou.train.service.api.user.dto.UserCommentPageDTO;
import com.yuyou.train.service.api.user.dto.UserLessonCommentDTO;
import com.yuyou.train.service.api.user.entity.UserComment;
import com.yuyou.train.util.bean.Pagination;


public interface IUserCommentService {
    int deleteByPrimaryKey(String id);

    void deleteCommentWithChildren(String id);

    int insert(UserComment record);

    UserComment selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(UserComment record);
    
    
    int addUserComment(UserComment record)throws Exception ;

    List<UserLessonCommentDTO> findUserComment(UserComment record);
    
    List<UserCommentPageDTO> findUserCommentPageList(Pagination<UserCommentPageDTO> p);
    
    int findUserCommentPageCount(Pagination<UserCommentPageDTO> p);

    int sumStar(Pagination<UserCommentPageDTO> p);
    
    List<UserComment> finduserCommentLimit(String foreignId,int start, int limit);
    
    int verComment(List<String>ids,String verifyStatus);

    int findUserLessonCommentPageCount(Pagination<UserLessonCommentDTO> p);

    List<UserLessonCommentDTO> findUserLessonCommentPageList(Pagination<UserLessonCommentDTO> p, String userId);

    int findMyCommentPageCount(Pagination<MyCommentPageDTO> p);

    int findCommentOnMePageCount(Pagination<MyCommentPageDTO> p);

    List<MyCommentPageDTO> findMyCommentPage(Pagination<MyCommentPageDTO> p);

    List<MyCommentPageDTO> findCommentOnMePage(Pagination<MyCommentPageDTO> p);
    
    Long countByForeignId(String foreignId);
}